package org.springframework.security.oauth2.common;

import java.util.Date;
import java.util.Map;
import java.util.Set;

@com.fasterxml.jackson.databind.annotation.JsonSerialize(using = OAuth2AccessTokenJackson2Serializer.class)
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(using = OAuth2AccessTokenJackson2Deserializer.class)
@Deprecated
public interface OAuth2AccessToken {

    String BEARER_TYPE = "Bearer";

    String OAUTH2_TYPE = "OAuth2";

    String ACCESS_TOKEN = "access_token";

    String TOKEN_TYPE = "token_type";

    String EXPIRES_IN = "expires_in";

    String REFRESH_TOKEN = "refresh_token";

    String SCOPE = "scope";

    Map<String, Object> getAdditionalInformation();

    Set<String> getScope();

    OAuth2RefreshToken getRefreshToken();

    String getTokenType();

    boolean isExpired();

    Date getExpiration();

    int getExpiresIn();

    String getValue();
}
